package com.itheima.edu.info.manager.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/*
    关于工具类设计规范:
        1. 构造方法私有化
        2. 成员(变量/方法)静态化
    自定义年龄工具类
        核心功能: 根据出生日期计算对应的年龄并返回年龄!
 */
public class AgeUtil {
    /**
     * Don't let anyone instantiate this class.
     */
    private AgeUtil() {}
    //根据出生日期计算年龄并返回
    public static String getAge(String birthdayStr){
       try{
           //1. 将生日字符串解析成对应的日期对象
           Date birthdayDate = new SimpleDateFormat("yyyy-MM-dd").parse(birthdayStr);
           //2. 获取当前系统日期
           Date nowDate = new Date();
           //3. 计算两者相差多少年
           long age = (nowDate.getTime() - birthdayDate.getTime()) / 1000L/ 60 / 60 /24/365;  //18
           //4. 返回计算出来的年龄
           return age + "";
       }catch (Exception e){
           //如果出问题了,就返回固定年龄: 18
           return "18";
       }
    }
}
